This invention relates to an image processing apparatus and method, a recording medium, and a program, and more particularly to an image processing apparatus and method, a recording medium, and a program suitable for use to produce, based on projection image data acquired using, for example, an X-ray single scan cone beam, sectional image data of a specimen in an arbitrary direction. The present invention further relates to an image processing apparatus and method, a recording medium, and a program wherein plotting of a three-dimensional body is performed in parallel by processing of a plurality of processors to reduce the period of time required for the plotting process.
In recent years, in various fields such as medical and industrial fields, a three-dimensional X-ray CT (Computerized Tomography) system by which sectional image data of a specimen can be acquired has been utilized. FIG. 1 shows an example of a configuration of a conventional three-dimensional X-ray CT system. Referring to FIG. 1, the three-dimensional X-ray CT system shown includes an X-ray source 2 for illuminating a single scan beam upon a specimen 1, a rotary table 3 for rotating the specimen 1 by 360 degrees, a light reception section 4 for receiving the X-ray having passed through the specimen 1 to produce projection image data, and an image processing apparatus 5 for producing sectional image data of the specimen 1 based on a plurality of projection image data from circular omnidirections. It is to be noted that also another system is available wherein the specimen is fixed while the X-ray source and the light reception section revolve around the specimen.
Action of the conventional three-dimensional X-ray CT system is described with reference to FIG. 2. In an X-ray projection process by the X-ray source 2, rotary table 3 and light reception section 4, every time the rotational angle of the rotary table 3 changes, projection image data is produced. In a re-construction process by the image processing apparatus 5, volume data (which is formed from a plurality of voxels which are cubic lattice elements of a size which contains the specimen 1 and have X-ray absorption coefficients at individual sample points) is produced based on a plurality of projection image data. Usually, the three-dimensional coordinate system for volume data is set in parallel to the two-dimensional coordinate system of projection image data in order to reduce the amount of arithmetic operation.
It is to be noted that a method of producing volume data corresponding to a specimen based on a plurality of projection image data is disclosed, for example, in Toru SASAKI and one other, “Reconstruction of a three-dimensional X-ray CT image using a distributed memory type multi-processor system”, the Journal of the Information Processing Society of Japan, vol.38, No.9, 1997.
In a sectional image data production process by the image processing apparatus 5, sectional image data on an arbitrary section are produced based on the volume data. For example, in order to produce, based on volume data represented by an xyz coordinate system shown in FIG. 3, sectional image data on a section A perpendicular to the z axis, from among all voxels which form the volume data, those voxels which are present on a plane whose z coordinate has a predetermined value should be read out. This process can be executed very readily. The section A perpendicular to the z axis is occupied by existing voxels as seen in FIG. 4. Accordingly, the sectional image data on the section A can be produced regarding the existing voxels as pixels.
Incidentally, if the rotary table 3 and the specimen 1 are disposed in a state wherein the axis of rotation of the rotary table 3 and the principal axis of inertia of the specimen 1 do not extend in parallel to each other as seen in FIG. 3, then none of the x, y and z axes of the coordinate system of the volume data produced by a re-construction process extends in parallel to the principal axis of inertia of the specimen 1 as seen in FIG. 3.
In such an instance, it is much more cumbersome to produce sectional image data on a section B which does not extend perpendicularly to any one of the x, y and z axes of the volume data but extends perpendicularly to the principal axis of inertial of the specimen 1 than to acquire sectional image data on the section A. In particular, arithmetic operation of coordinates of the section B is cumbersome, and besides, the density of voxels existing on the section B is lower than the density of voxels existing on the section A shown in FIG. 4 as seen in FIG. 5. Accordingly, in order to produce sectional image data of the section B, it is necessary to interpolate pixels using the closest interpolation, the bilinear interpolation or some other interpolation which use existing voxels. Consequently, the picture quality of the sectional image data of the section B is deteriorated by the interpolation.
As described above, where the rotary table 3 and the specimen 1 are not disposed such that the axis of rotation of the rotary table 3 and the principal axis of inertia of the specimen 1 do not extend in parallel to each other as seen in FIG. 1, although it is impossible to produce sectional image data of a section (such as, for example, the section B) perpendicular to the principal axis of inertia of the specimen 1, there is a subject to be solved that the picture quality of the thus produced sectional image data is deteriorated.
It is to be noted that, if voxels of volume data are produced in a higher density in a re-construction process, then naturally it is not necessary to interpolate pixels when sectional image data on the section B are produced, and the picture quality of sectional image data produced is not deteriorated. However, there is a subject to be solved that, if the density of voxels of volume data is further raised, then the amount of arithmetic operation in a reconfiguration process increases and the data size of the volume data increases.
Meanwhile, in recent years, in various fields such as medical and industrial fields, a three-dimensional body (hereinafter referred to as specimen) is sometimes plotted three-dimensionally based on volume data (three-dimensional coordinates of sample points which form the three-dimensional body and scalar values of a predetermined item or items at the sample points) of the three-dimensional body acquired by the three-dimensional X-ray CT technique, the MRI (Magnetic Response Imaging) technique or the like. In a process of three-dimensionally plotting a specimen based on volume data, the specimen can be plotted from an arbitrary eye point with an arbitrary magnification in response to an operation of a user, and therefore, it is possible to readily grasp a spatial positional relationship of an entire image of the specimen or points in the inside of the specimen, which is difficult to grasp with two-dimensional images such as, for example, X-ray photographs.
Incidentally, a very great amount of arithmetic operation is required for a process of three-dimensionally plotting a specimen based on acquired volume data (the process is hereinafter referred to as volume rendering process). Such a very great amount of arithmetic operation as just mentioned is sometimes distributed to a plurality of processor elements, which cooperatively form a multi-processor unit, so that the processor elements may arithmetically operate in parallel to each other to reduce the processing time.
FIG. 14 shows an example of a configuration of a conventional multi-processor unit. Referring to FIG. 14, the multi-processor unit includes a plurality of processor elements (each represented by PE in FIG. 14) 1001 (1001-000 to 1001-330 in FIG. 14) disposed in a matrix and each connected to eight processor elements 1001 disposed therearound. Arithmetic operation regarding one of such blocks in a three-dimensional space as seen in FIG. 15 is distributed to each of the processor elements 1001. For example, to the processor element 1001-000, arithmetic operation regarding a block BK000 is distributed. Further, to the processor element 1001-010, arithmetic operation regarding the block BK010 is distributed.
Accordingly, where the specimen of an object of the volume rendering process is sufficiently small when compared with, for example, the three-dimensional space composed of 4×4×4 blocks shown in FIG. 15, an arithmetic operation process may not possibly be distributed to some of the processor elements 1001.
In this manner, in a conventional multi-processor unit for use for a volume rendering process, since arithmetic operation is distributed in accordance with a single distribution method, suitable amounts of arithmetic operation are not sometimes distributed to the processor elements. Thus, there is a subject to be solved that the time required for arithmetic operation is not necessarily be reduced, and there is some possibility that the processing time can be further reduced.
Further, where the processor elements are disposed in a lattice like the processor elements 1001 shown in FIG. 14, various data must be communicated individually with the processor elements 1001, there is a subject to be solved that a correspondingly high communication cost (for example, a frequency in which the same data is communicated) is required and the efficiency is not high.